package cn._51doit.redis

import redis.clients.jedis.Jedis

/**
 *    ┏┓　　　┏┓
 * ┏┛┻━━━┛┻┓
 * ┃　　　　　　　┃ 　
 * ┃　　　━　　　┃
 * ┃　┳┛　┗┳　┃
 * ┃　　　　　　　┃
 * ┃　　　┻　　　┃
 * ┃　　　　　　　┃
 * ┗━┓　　　┏━┛
 *    　　┃　　　┃神兽保佑
 *    　　┃　　　┃代码无BUG！
 *    　　┃　　　┗━━━┓
 *    　　┃　　　　　　　┣┓
 *    　　┃　　　　　　　┏┛
 *    　　┗┓┓┏━┳┓┏┛
 *    　　　┃┫┫　┃┫┫
 *    　　　┗┻┛　┗┻┛
 *
 * @create: 2021-10-11 20:10
 * @author: 今晚打脑斧
 * @program: ZsetValueDemo
 * @Description:
 *
 **/
object ZsetValueDemo {
  def main(args: Array[String]): Unit = {
    val jedis = new Jedis("192.168.27.4", 6379)
    jedis.auth("123456")
    jedis.select(11)

    jedis.zincrby("phone", 3000.5, "nova9")
    jedis.zincrby("phone", 3000.5, "nova9")

    jedis.zincrby("phone", 6000, "p50")
    jedis.zincrby("phone", 6000, "p50")

    jedis.zincrby("phone", 8000, "ip13")
    jedis.zincrby("phone", 8000, "ip13")

    jedis.zincrby("phone", 4000, "mi11")

    //按照得分的升序取数据(升序的前3)
    val res1= jedis.zrange("phone", 0, 2)
    import scala.collection.JavaConverters._

    for (elem <- res1.asScala) {
      println(elem)
    }
    //按照得分的降序取数据(topN)
    val res2= jedis.zrevrangeWithScores("phone", 0, 2)
    for (tp <- res2.asScala) {
      println(s"val: ${tp.getElement}, score: ${tp.getScore}")
    }
  }

}
